//package org.xukai.remoting.redis;
//
//import org.eclipse.jetty.server.Authentication;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.dao.DataAccessException;
//
//import java.io.Serializable;
//
///**
// * @author xukai
// * @desc
// * @date 2017-02-06-下午 9:42
// */
//public class UserDAO {
//
//    @Autowired
//    protected RedisTemplate<Serializable, Serializable> redisTemplate;
//
//    public void saveUser(final Authentication.User user) {
//        redisTemplate.execute(new RedisCallback<Object>() {
//
//            @Override
//            public Object doInRedis(RedisConnection connection) throws DataAccessException {
//                connection.set(redisTemplate.getStringSerializer().serialize("user.uid." + user.getId()),
//                        redisTemplate.getStringSerializer().serialize(user.getName()));
//                return null;
//            }
//        });
//    }
//
//    @Override
//    public Authentication.User getUser(final long id) {
//        return redisTemplate.execute(new RedisCallback<Authentication.User>() {
//            @Override
//            public Authentication.User doInRedis(RedisConnection connection) throws DataAccessException {
//                byte[] key = redisTemplate.getStringSerializer().serialize("user.uid." + id);
//                if (connection.exists(key)) {
//                    byte[] value = connection.get(key);
//                    String name = redisTemplate.getStringSerializer().deserialize(value);
//                    User user = new User();
//                    user.setName(name);
//                    user.setId(id);
//                    return user;
//                }
//                return null;
//            }
//        });
//    }
//
//}
